package com.zhijian.medical.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import java.io.Serializable;

/**
 * 消息通知 查询条件vo
 *
 * @author HCG
 * @version 1.0
 * @date 2022-06-07 15:54:02
 */
@Data
@Api(tags = "消息通知查询条件vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MessageSearchVo implements Serializable {

    private static final long serialVersionUID = -1;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    @Min(value = 1, message = "页码最小为1")
    private Integer pageNum;

    /**
     * 数据库查询参数，前端忽略
     */
    @ApiModelProperty(value = "页码", hidden = true)
    private Integer startIndex;

    /**
     * 条数
     */
    @ApiModelProperty("每页显示的条数")
    @Min(value = 1, message = "每页显示的条数最小为1")
    private Integer pageSize;

    /**
     * 接收类型，0：pc，1：移动端
     */
    @ApiModelProperty(value = "接收类型，0：pc，1：移动端", hidden = true)
    private Byte receiveType;

    /**
     * 接收用户id，当接收类型为pc的时候，此字段为空
     */
    @ApiModelProperty(value = "接收用户id，当接收类型为pc的时候，此字段为空", hidden = true)
    private Long receiveUserId;

    /**
     * 是否已读，0：未读，1：已读，当接收类型为移动端的时候，此字段为空
     */
    @ApiModelProperty(value = "是否已读，0：未读，1：已读，当接收类型为移动端的时候，此字段为空", hidden = true)
    private Byte weatherRead;

    /**
     * 类型，0：预定房间通知，1：退房通知，2：超时未入住通知，3：保洁任务完成通知，4：保洁通知反馈
     */
    @ApiModelProperty(value = "类型，0：预定房间通知，1：退房通知，2：超时未入住通知，3：保洁任务完成通知，4：保洁通知反馈", hidden = true)
    private Byte type;

}